package com.jic.product.mapper;

import com.jic.product.entity.ProductBrand;
import com.jic.product.manage.request.ProductBrandEditRequest;
import com.jic.product.manage.request.ProductBrandRequest;
import com.jic.product.manage.response.ProductBrandResponse;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 商品品牌表
 * @author : 
 * @email : 
 * @since : 2020-01-10 07:03:01
 * @version : v1.0.0
 */
@Mapper
public interface  ProductBrandMapper {

    long insert(ProductBrandEditRequest productBrandEditRequest);

    long delete(Long id);

    long update(ProductBrandEditRequest productBrandEditRequest);

    ProductBrand queryByPrimaryKey(Long id);

    List<ProductBrandResponse> query(ProductBrandRequest productBrandRequest);

    List<ProductBrand> queryPage(@Param("startIndex") int startIndex, @Param("limit") int limit, @Param("productBrand") ProductBrand productBrand);

    long queryPageCount(ProductBrand productBrand);


    List<ProductBrand> listRestPage(@Param("startIndex") int startIndex, @Param("limit") int limit, @Param("productBrand") ProductBrand productBrand);

    long listRestPageCount(ProductBrand productBrand);

    /**
     * 获取商品品牌中的所有品牌来源
     * @return
     */
    List<String> querySourceList();
}